package com.heima.model.wemedia.vos;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.heima.model.wemedia.dtos.NewsAuthDto;
import com.heima.model.wemedia.pojos.WmNews;
import lombok.Data;
import org.apache.ibatis.type.Alias;

import java.util.Date;

/**
 * author Link
 *
 * @version 1.0
 * @date 2025/4/17  9:51
 */
@Data
public class NewsAuthVo {

    /**
     * 主键
     */
    private Integer id;

    /**
     * 自媒体用户ID
     */
    private Integer userId;



    /**
     * 标题
     */
    private String title;

    /**
     * 图文内容
     */
    private String content;

    /**
     * 文章布局
     0 无图文章
     1 单图文章
     3 多图文章
     */
    private Short type;

    /**
     * 图文频道ID
     */
    private Integer channelId;

    private String labels;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 提交时间
     */
    private Date submitedTime;

    /**
     * 当前状态
     0 草稿
     1 提交（待审核）
     2 审核失败
     3 人工审核
     4 人工审核通过
     8 审核通过（待发布）
     9 已发布
     */
    private Short status;

    /**
     * 定时发布时间，不定时则为空
     */
    private Date publishTime;

    /**
     * 拒绝理由
     */
    private String reason;

    /**
     * 发布库文章ID
     */
    private Long articleId;

    /**
     * //图片用逗号分隔
     */
    private String images;

    private Short enable;

    //状态枚举类
    @Alias("WmNewsStatus")
    public enum Status{
        NORMAL((short)0),
        SUBMIT((short)1),
        FAIL((short)2),
        ADMIN_AUTH((short)3),
        ADMIN_SUCCESS((short)4),
        SUCCESS((short)8),
        PUBLISHED((short)9);
        short code;
        Status(short code){
            this.code = code;
        }
        public short getCode(){
            return this.code;
        }
        /**
         * 当前状态
         0 草稿
         1 提交（待审核）
         2 审核失败
         3 人工审核
         4 人工审核通过
         8 审核通过（待发布）
         9 已发布
         */
    }
    /**
     * 作者名字
     */
    private String authorName;
}
